import Mock from 'mockjs'

/**
 * FloorMock 模拟数据
 */
class FloorMock {
    floor(option) {
        let param = this.parseOption(option);
        let data = [
            {
                name: '一楼',
                id: 1,
            },
            {
                name: '二楼',
                id: 2,
            },
            {
                name: '三楼',
                id: 3,
            },

        ]
        return this.stdMessage(param._success, '成功', data, 200);

    }
    

    // 解析参数 option= {url:'/api/read?id=1', type:'GET', data:null}
    parseOption(option) {
        let param = {}
        if (option.url.indexOf('?') > -1) {
            new URLSearchParams(option.url.substring(option.url.indexOf('?') + 1)).forEach((v, k) => {
                param[k] = v;
            })
        }
        if (option.body) {
            if (option.body instanceof FormData) {
                option.body.forEach((v, k) => {
                    param[k] = v;
                })
            } else {
                param = JSON.parse(option.body);
            }
        }
        // 可以通过传参 _success 来控制返回消息的成功状态。默认返回成功消息。
        if (typeof (param._success) != 'boolean') {
            param._success = true;
        }
        return param;
    }

    // 返回标准消息对象
    stdMessage(success, message, data = '', code = 0) {
        return {
            success: success,
            message: message,
            data: data,
            code: code,
        }
    }
}

export default new FloorMock;